edad532fb2f5c85bf7e23ac9e11d80722b36d34d,src/org/exist/xquery/functions/FunGetDateComponent.java,FunGetDateComponent,eval,#Sequence#Item#,90

Before Change


            result = Sequence.EMPTY_SEQUENCE;
        else {
    		DateValue date = (DateValue) arg.itemAt(0);
    		if (isCalledAs("day-from-date"))
                result = new IntegerValue(date.getPart(DateValue.DAY), Type.INTEGER);
    		else if (isCalledAs("month-from-date"))
                result = new IntegerValue(date.getPart(DateValue.MONTH), Type.INTEGER);

After Change


		}
        
		Sequence result;
		if (args.length == 0 || args[0].isEmpty()) {
			result = Sequence.EMPTY_SEQUENCE;
		} else {
			Sequence arg = args[0];
			AbstractDateTimeValue date = (AbstractDateTimeValue) arg.itemAt(0);
			if (isCalledAs("day-from-dateTime") || isCalledAs("day-from-date")) {
				result = new IntegerValue(date.getPart(DateValue.DAY), Type.INTEGER);
			} else if (isCalledAs("month-from-dateTime") || isCalledAs("month-from-date")) {
				result = new IntegerValue(date.getPart(DateValue.MONTH),
						Type.INTEGER);
			} else if (isCalledAs("year-from-dateTime") || isCalledAs("year-from-date")) {
				result = new IntegerValue(date.getPart(DateValue.YEAR),
						Type.INTEGER);
			} else if (isCalledAs("hours-from-dateTime") || isCalledAs("hours-from-time")) {
				result = new IntegerValue(date.getPart(DateValue.HOUR),
						Type.INTEGER);
			} else if (isCalledAs("minutes-from-dateTime") || isCalledAs("minutes-from-time")) {
				result = new IntegerValue(date.getPart(DateValue.MINUTE),
						Type.INTEGER);
			} else if (isCalledAs("seconds-from-dateTime") || isCalledAs("seconds-from-time")) {
				long millis = date.getPart(DateValue.SECOND) * 1000L + date.getPart(DateValue.MILLISECOND);
				result = new DecimalValue(millis / 1000D);
			} else if (isCalledAs("timezone-from-dateTime") || isCalledAs("timezone-from-date") || isCalledAs("timezone-from-time")) {
				result = date.getTimezone();
			} else {